package com.tiancheng.trade.order.vo.app;

import com.fasterxml.jackson.annotation.JsonProperty;
import jakarta.validation.Valid;
import jakarta.validation.constraints.NotBlank;
import lombok.Getter;
import lombok.Setter;

/**
 * @Author: likailun
 * @Description:
 * @Date: create in 2021/9/1 4:22 下午
 */
@Getter
@Setter
public class QrPayVO {
    /**
     * 用户uid
     */
    private String uid;
    /**
     * 申码场景<br/>
     * @see com.cloud.trade.order.enums.QrSourceEnum
     */
    @NotBlank(message = "申码场景不能为空")
    private String qrSource;
    /**
     * 请求方自定
     * 义域
     */
    private String reqReserved;

    // 风控信息
    @Valid
    @JsonProperty(value = "risk_info")
    private RiskInfo riskInfo;

    @Getter
    @Setter
    public static class RiskInfo {
        // 设备标识
        @NotBlank(message = "请填写设备标识")
        @JsonProperty(value = "device_id")
        private String deviceID;
        // 设备类型
        @NotBlank(message = "请填写设备类型")
        private String deviceType;
        // IP
//        @NotBlank(message = "请填写IP")
        @JsonProperty(value = "source_ip")
        private String sourceIP;
        // 用户id hash
        private String accountIdHash;
        // 电话号码
        private String mobile;
        // APP账号注册日期
//        @NotBlank(message = "请填写APP账号注册日期")
        private String usrRgstrDt;

    }

}
